package top.yxqz.springmvc.restful.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

/**
 * @author: 余小小
 * @date: 2023/4/27
 * @description： 请求的方式规范：
 * 查询——————get——getMapping：/user/
 * 以前的写法：/user/?id=1
 * restful风格：/user/1
 * 添加——————post——postMapping :/user/
 * 修改——————put——putMapping
 * 删除——————delete——deleteMapping
 */
@Controller
@RequestMapping("/user")
public class UserController {

    /**
     * 查询所有用户
     * uri:/user/
     *
     * @return
     */
    @GetMapping("/")
    public String getAllUser(Model model) {
        System.out.println("查询所有用户/user/");
        model.addAttribute("msg_user", "查询所有用户/user/");
        return "success";
    }

    /**
     * 条件查询
     * uri:/user/xx/xxx
     *
     * @param id
     * @param username
     * @param model
     * @return
     */
    @GetMapping("/{id}/{username}")
    public String getUserByIdANdUserName(@PathVariable("id") String id, @PathVariable("username") String username, Model model) {
        System.out.println("条件查询用户/user/" + id + "/" + username);
        model.addAttribute("msg_user", "条件查询用户/user/" + id + "/" + username);
        return "success";
    }

    /**
     * 添加用户
     * uri:/user/ (post)
     */
    @PostMapping("/")
    public String addUser(Model model) {
        System.out.println("添加用户/user/");
        model.addAttribute("msg_user", "添加用户/user/");
        return "success";
    }
    @PutMapping("/")
    public String updateUser(Model model) {
        System.out.println("修改用户/user/");
        model.addAttribute("msg_user", "修改用户/user/");
        return "success";
    }

    @DeleteMapping("/")
    public String delUser(Model model) {
        System.out.println("删除用户/user/");
        model.addAttribute("msg_user", "删除用户/user/");
        return "success";
    }
}
